/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package net.etrs.formathlon.vue.jsf.converter;

import javax.ejb.EJB;
import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import net.etrs.formathlon.entity.utilisateur.Personnel;
import net.etrs.formathlon.persistance.utilisateur.PersonnelFacade;
import net.etrs.formathlon.vue.jsf.utils.Transformer;

/**
 * Converter utilisé dans le parcours pédagogique.
 * @author OPIF
 */
@ManagedBean
@ApplicationScoped
public class PersonnelAttestConverter extends GenericConverter {

    @EJB
    PersonnelFacade personneFacade;

    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        Personnel p = personneFacade.newInstance();
        if (!value.isEmpty()) {
            p = personneFacade.read(Long.valueOf(value));
        }
        return p;
    }

    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        //la value est un personnel
        Personnel p = (Personnel) value;

        //Renvoie le nom dans le format GRADE Prénom NOM
        return Transformer.formatPersonnelGradePrenomNom(p);

    }
}
